package com.jwds.digital.bios.business.core.infrastructure.vo.belt;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 路线作业实绩主表
 *
 * @author 林柏云
 * @date 2024-11-28
 */
@Data
@ApiModel(value="BeltRouteTaskMain返回数据对象")
public class BeltRouteTaskMainRespVO  {

  @ApiModelProperty(value = "主键Id")
  private Long id;

  @ApiModelProperty(value = "路线code")
  private String routeCode;

  @ApiModelProperty(value = "任务id")
  private Long taskId;

  @ApiModelProperty(value = "路线唯一标志")
  private Short flowNo;

  @ApiModelProperty(value = "任务类型")
  private String taskType;

  @ApiModelProperty(value = "实绩开始时间")
  @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
  private LocalDateTime startTime;

  @ApiModelProperty(value = "实绩结束时间")
  @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
  private LocalDateTime endTime;

  @ApiModelProperty(value = "运行时长")
  private BigDecimal runningTime;

  @ApiModelProperty(value = "负载运行时长")
  private BigDecimal loadRunningTime;

  @ApiModelProperty(value = "空载运行时长")
  private BigDecimal unLoadRunningTime;

  @ApiModelProperty(value = "启动空载运行时长")
  private BigDecimal startupNoLoadDuration;

  @ApiModelProperty(value = "运行空载运行时长")
  private BigDecimal runningNoLoadDuration;

  @ApiModelProperty(value = "停止空载运行时长")
  private BigDecimal shutdownNoLoadDuration;

  @ApiModelProperty(value = "运行负载运行时长")
  private BigDecimal runningLoadDuration;

  @ApiModelProperty(value = "负载比率")
  private BigDecimal loadRatio;

  @ApiModelProperty(value = "运输量")
  private BigDecimal totalTransport;

  @ApiModelProperty(value = "运输效率（t/h）")
  private BigDecimal transportEfficiency;

  @ApiModelProperty(value = "平均负载率")
  private BigDecimal avgAllLoadRate;

  @ApiModelProperty(value = "平均负载负载率")
  private BigDecimal avgLoadRate;

  @ApiModelProperty(value = "平均空载负载率")
  private BigDecimal avgUnLoadRate;

  @ApiModelProperty(value = "总耗电量")
  private BigDecimal totalPowerConsumption;

  @ApiModelProperty(value = "负载耗电量")
  private BigDecimal loadPowerConsumption;

  @ApiModelProperty(value = "空载耗电量")
  private BigDecimal unLoadPowerConsumption;

  @ApiModelProperty(value = "负载耗电量占比")
  private BigDecimal loadPowerConsumptionRate;

  @ApiModelProperty(value = "空载耗电量占比")
  private BigDecimal unLoadPowerConsumptionRate;

  @ApiModelProperty(value = "启动空载运行电耗")
  private BigDecimal startupNoLoadPower;

  @ApiModelProperty(value = "运行空载运行电耗")
  private BigDecimal runningNoLoadPower;

  @ApiModelProperty(value = "停止空载运行电耗")
  private BigDecimal shutdownNoLoadPower;

  @ApiModelProperty(value = "运行负载运行电耗")
  private BigDecimal runningLoadPower;

  @ApiModelProperty(value = "运行效率")
  private BigDecimal workEfficiency;

  @ApiModelProperty(value = "吨料耗电量")
  private BigDecimal tonPowerConsumption;

  @ApiModelProperty(value = "负载均衡")
  private BigDecimal loadBalance;

  @ApiModelProperty(value = "料流均衡")
  private BigDecimal trafficBalance;

  @ApiModelProperty(value = "平均阻力")
  private BigDecimal avgResistance;

  @ApiModelProperty(value = "能耗效率评价")
  private String energyEfficiency;

  @ApiModelProperty(value = "机械分数")
  private Integer machineScore;

  @ApiModelProperty(value = "电气分数")
  private Integer electricScore;

  @ApiModelProperty(value = "五防分数")
  private Integer preventScore;

  @ApiModelProperty(value = "尖峰耗电量")
  private BigDecimal spikePowerConsumption;

  @ApiModelProperty(value = "峰值耗电量")
  private BigDecimal peakPowerConsumption;

  @ApiModelProperty(value = "谷值耗电量")
  private BigDecimal valleyPowerConsumption;

  @ApiModelProperty(value = "第一次料流有料信号时间")
  @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
  private LocalDateTime firstMaterialFlowTime;

  @ApiModelProperty(value = "最后料流无料信号时间")
  @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
  private LocalDateTime lastMaterialFlowTime;

  @ApiModelProperty(value = "创建时间")
  @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
  private LocalDateTime createTime;

  @ApiModelProperty(value = "更新时间")
  @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
  private LocalDateTime modifyTime;

  @ApiModelProperty(value = "创建人")
  private String createUser;

  @ApiModelProperty(value = "更新人")
  private String modifyUser;

  @ApiModelProperty(value = "逻辑删除:0-未删除,1-已删除")
  private Integer isDeleted;

  @ApiModelProperty(value = "平值耗电量")
  private BigDecimal flatPowerConsumption;

  /***********扩展字段***************/

  @ApiModelProperty(value = "作业效率")
  private List<LineDataRespVo> lineDataRespVoList;

  @ApiModelProperty(value = "吨料耗电量散点图")
  private List<tonPowerConsumptionRespVO> tonPowerConsumptionRespVOList;

  @ApiModelProperty(value = "平均吨料耗电量")
  private BigDecimal avgTonPowerConsumption;

  @ApiModelProperty("物料名称")
  private String materialName;

  @ApiModelProperty("运行效率-优秀线")
  private BigDecimal workEfficiencyExcellent;

  @ApiModelProperty("运行效率-良")
  private BigDecimal workEfficiencyGood;

  @ApiModelProperty("运行效率-及格线")
  private BigDecimal workEfficiencyWrong;

  @ApiModelProperty("平均负载率-优秀线")
  private BigDecimal avgAllLoadRateExcellent;

  @ApiModelProperty("平均负载率-良")
  private BigDecimal avgAllLoadRateGood;

  @ApiModelProperty("平均负载率-及格线")
  private BigDecimal avgAllLoadRateWrong;

  @ApiModelProperty("平均阻力-优秀线")
  private BigDecimal avgResistanceExcellent;

  @ApiModelProperty("平均阻力-良")
  private BigDecimal avgResistanceGood;

  @ApiModelProperty("平均阻力-及格线")
  private BigDecimal avgResistanceWrong;

  @ApiModelProperty("运输效率（t/h）-优秀线")
  private BigDecimal transportEfficiencyExcellent;

  @ApiModelProperty("运输效率（t/h）-良")
  private BigDecimal transportEfficiencyGood;

  @ApiModelProperty("运输效率（t/h）-及格线")
  private BigDecimal transportEfficiencyWrong;

  @ApiModelProperty("吨料耗电量上升或下降")
  private Integer tonPower;

  @ApiModelProperty("吨料耗电量百分比")
  private BigDecimal tonPowerConsumptionPercent;

  @ApiModelProperty("获取空载时长上升或下降")
  private Integer unLoadRunning;

  @ApiModelProperty("空载时长百分比")
  private BigDecimal unLoadRunningTimePercent;

  @ApiModelProperty("运行空载时长上升或下降")
  private Integer runningUnLoad;

  @ApiModelProperty("运行空载时长百分比")
  private BigDecimal runningUnLoadRatePercent;

  @ApiModelProperty("空载能耗上升或下降")
  private Integer unLoadPower;

  @ApiModelProperty("空载能耗百分比")
  private BigDecimal unLoadPowerConsumptionRatePercent;

  @ApiModelProperty("平均吨料耗电量评价")
  private String avgPowerEvaluation;

  @ApiModelProperty("空载时长占比评价")
  private String unloadedTimeEvaluation;

  @ApiModelProperty("运行空载占比评价")
  private String runUnloadedEvaluation;

  @ApiModelProperty("空载能耗占比评价")
  private String unloadedPowerEvaluation;

  @ApiModelProperty("作业效率评价")
  private String workingEfficiencyEvaluation;

  @ApiModelProperty("运行效率评价")
  private String workEfficiencyEvaluation;

  @ApiModelProperty("负载率评价")
  private String loadRatioEvaluation;

  @ApiModelProperty("散点图评价")
  private String tonPowerConsumptionEvaluation;

}
